<?xml version="1.0"?>
<doc>
    <assembly>
        <name>WA.Shared</name>
    </assembly>
    <members>
        <member name="T:WA.Web.GmailSmtp">
            <summary>
            Class for sending outgoing e-mails through Google Gmail's SMTP server
            </summary>
        </member>
        <member name="M:WA.Web.GmailSmtp.#ctor(System.String,System.String)">
            <summary>
            
            </summary>
            <param name="gmailAccountEmail">Email address of a valid Gmail user</param>
            <param name="gmailAccountPassword"></param>
        </member>
        <member name="T:WA.Integration.AuthorizeNet.AuthorizeNetController">
            <summary>
            Integration point with Authorize.Net payment gateway using the "AIM" method
            </summary>
        </member>
        <member name="M:WA.Extensions.ListControlExt.SetAllSelected(System.Web.UI.WebControls.ListControl)">
            <summary>
            Marks all items in the list as selected
            </summary>
            <param name="source"></param>
        </member>
        <member name="T:WA.Integration.Basecamp.CompanyController">
            <summary>
            Encapsulates methods for the Basecamp "Company" API
            </summary>
        </member>
        <member name="T:WA.Integration.Basecamp.BasecampController">
            <summary>
            Abstract Base Class for Basecamp Controllers
            </summary>
        </member>
        <member name="M:WA.Integration.Basecamp.CompanyController.GetCompanies">
            <summary>
            Get a list of companies that are visible to the requesting user
            </summary>
            <returns></returns>
        </member>
        <member name="M:WA.Integration.Basecamp.CompanyController.GetCompaniesOnProject(System.Int32)">
            <summary>
            Get a list of all companies associated with a given project
            </summary>
            <param name="projectId"></param>
            <returns></returns>
        </member>
        <member name="T:WA.Cryptography.SimpleSymmetric">
            <summary>
            </summary>
        </member>
        <member name="M:WA.Cryptography.SimpleSymmetric.EncryptString(System.String,System.String)">
            <summary>
            Encrypts specified plaintext using Rijndael symmetric key algorithm
            and returns a base64-encoded result.
            </summary>
        </member>
        <member name="M:WA.Cryptography.SimpleSymmetric.EncryptString(System.String,WA.Cryptography.SimpleSymmetric.SimpleSymmetricArgs)">
            <summary>
            Encrypts specified plaintext using Rijndael symmetric key algorithm
            and returns a base64-encoded result.
            </summary>
        </member>
        <member name="M:WA.Cryptography.SimpleSymmetric.DecryptString(System.String,System.String)">
            <summary>
            Decrypts specified ciphertext using Rijndael symmetric key algorithm.
            </summary>
        </member>
        <member name="M:WA.Cryptography.SimpleSymmetric.DecryptString(System.String,WA.Cryptography.SimpleSymmetric.SimpleSymmetricArgs)">
            <summary>
            Decrypts specified ciphertext using Rijndael symmetric key algorithm.
            </summary>
        </member>
        <member name="T:WA.Cryptography.SimpleSymmetric.RijndaelSimple">
            <summary>
            This class uses a symmetric key algorithm (Rijndael/AES) to encrypt and 
            decrypt data. As long as encryption and decryption routines use the same
            parameters to generate the keys, the keys are guaranteed to be the same.
            The class uses static functions with duplicate code to make it easier to
            demonstrate encryption and decryption logic. In a real-life application, 
            this may not be the most efficient way of handling encryption, so - as
            soon as you feel comfortable with it - you may want to redesign this class.
            </summary>
        </member>
        <member name="M:WA.Cryptography.SimpleSymmetric.RijndaelSimple.Encrypt(System.String,System.String,System.String,System.Int32,System.String,System.Int32)">
            <summary>
            Encrypts specified plaintext using Rijndael symmetric key algorithm
            and returns a base64-encoded result.
            </summary>
            <param name="plainText">
            Plaintext value to be encrypted.
            </param>
            <param name="passPhrase">
            Passphrase from which a pseudo-random password will be derived. The
            derived password will be used to generate the encryption key.
            Passphrase can be any string. In this example we assume that this
            passphrase is an ASCII string.
            </param>
            <param name="saltValue">
            Salt value used along with passphrase to generate password. Salt can
            be any string. In this example we assume that salt is an ASCII string.
            </param>
            <param name="passwordIterations">
            Number of iterations used to generate password. One or two iterations
            should be enough.
            </param>
            <param name="initVector">
            Initialization vector (or IV). This value is required to encrypt the
            first block of plaintext data. For RijndaelManaged class IV must be 
            exactly 16 ASCII characters long.
            </param>
            <param name="keySize">
            Size of encryption key in bits. Allowed values are: 128, 192, and 256. 
            Longer keys are more secure than shorter keys.
            </param>
            <returns>
            Encrypted value formatted as a base64-encoded string.
            </returns>
        </member>
        <member name="M:WA.Cryptography.SimpleSymmetric.RijndaelSimple.Decrypt(System.String,System.String,System.String,System.Int32,System.String,System.Int32)">
            <summary>
            Decrypts specified ciphertext using Rijndael symmetric key algorithm.
            </summary>
            <param name="cipherText">
            Base64-formatted ciphertext value.
            </param>
            <param name="passPhrase">
            Passphrase from which a pseudo-random password will be derived. The
            derived password will be used to generate the encryption key.
            Passphrase can be any string. In this example we assume that this
            passphrase is an ASCII string.
            </param>
            <param name="saltValue">
            Salt value used along with passphrase to generate password. Salt can
            be any string. In this example we assume that salt is an ASCII string.
            </param>
            <param name="passwordIterations">
            Number of iterations used to generate password. One or two iterations
            should be enough.
            </param>
            <param name="initVector">
            Initialization vector (or IV). This value is required to encrypt the
            first block of plaintext data. For RijndaelManaged class IV must be
            exactly 16 ASCII characters long.
            </param>
            <param name="keySize">
            Size of encryption key in bits. Allowed values are: 128, 192, and 256.
            Longer keys are more secure than shorter keys.
            </param>
            <returns>
            Decrypted string value.
            </returns>
            <remarks>
            Most of the logic in this function is similar to the Encrypt
            logic. In order for decryption to work, all parameters of this function
            - except cipherText value - must match the corresponding parameters of
            the Encrypt function which was called to generate the
            ciphertext.
            </remarks>
        </member>
        <member name="T:WA.Extensions.DictionaryExt">
            <summary>
            .NET Extension Methods for IDictionary Objects
            </summary>
        </member>
        <member name="M:WA.Extensions.DictionaryExt.Merge``2(System.Collections.Generic.IDictionary{``0,``1},System.Collections.Generic.IDictionary{``0,``1})">
            <summary>
            Merge an IDictionary object into this object.
            Overwrites values of any existing keys in this Dictionary with the values from the passed-in Dictionary
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
            <param name="destination"></param>
            <param name="values"></param>
        </member>
        <member name="T:WA.Enum`1">
            <summary>
            Generic Enum class with convenience methods for parsing and getting a list of all values
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:WA.Enum`1.Parse(System.String)">
            <summary>
            Tries to parse the string value into the Enum type.
            If it cannot be parsed an Exception will be thrown.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.ListExt.ToCsv``1(System.Collections.Generic.IList{``0})">
            <summary>
            Convert the IList to a string, with each element separated by a comma
            </summary>
            <typeparam name="T"></typeparam>
            <param name="source"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.ListExt.ToDelimitedString``1(System.Collections.Generic.IList{``0},System.String)">
            <summary>
            Convert the IList to a string, with each element separated by itemSeparator
            </summary>
            <typeparam name="T"></typeparam>
            <param name="source"></param>
            <param name="itemSeparator"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.ListExt.ToDelimitedString``1(System.Collections.Generic.IList{``0},System.String,System.Func{``0,System.String})">
            <summary>
            Convert the IList to a string, with each element separated by itemSeparator,
            using the passed-in function to get the string value for each T object.       
            </summary>        
            <typeparam name="T"></typeparam>
            <param name="source"></param>
            <param name="itemSeparator"></param>
            <param name="stringConverter"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.ListExt.Clone``1(System.Collections.Generic.IList{``0})">
            <summary>
            Clones a List into a new List
            </summary>
            <typeparam name="T"></typeparam>
            <param name="source"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.ListExt.RemoveDuplicates``1(System.Collections.Generic.IList{``0},System.Comparison{``0})">
            <summary>
            Remove duplicates in the List, modifying the list in place.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="source"></param>
            <param name="comparison"></param>
        </member>
        <member name="M:WA.Extensions.ListExt.GetUniques``1(System.Collections.Generic.IList{``0},System.Comparison{``0})">
            <summary>
            Get the unique values in the List and return them as a new List.
            </summary>        
            <typeparam name="T"></typeparam>
            <param name="source"></param>
            <param name="comparison"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Parser.ToBool(System.String)">
            <summary>
            Attempts a smarter parsing of booleans.
            Standard framework TryParse is attempted first.
            Additional values accepted as true: "true", "1", "yes", "y"
            Additional values accepted as false: "false", "0", "no", "n"
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Parser.ToBool(System.Object)">
            <summary>
            Attempts a smarter parsing of booleans.
            Standard framework TryParse is attempted first.
            Additional values accepted as true: "true", "1", "yes", "y"
            Additional values accepted as false: "false", "0", "no", "n"
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="T:WA.FileHelpers.Csv.CsvWriter">
            <summary>
            Used to write CSV files.
            </summary>
        </member>
        <member name="T:WA.FileHelpers.Csv.ICsvWriter">
            <summary>
            Defines methods used to write to a CSV file.
            </summary>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvWriter.WriteField(System.String)">
            <summary>
            Writes the field to the CSV file.
            When all fields are written for a record,
            <see cref="M:WA.FileHelpers.Csv.ICsvWriter.NextRecord"/> must be called
            to complete writing of the current record.
            </summary>
            <param name="field">The field to write.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvWriter.WriteField``1(``0)">
            <summary>
            Writes the field to the CSV file.
            When all fields are written for a record,
            <see cref="M:WA.FileHelpers.Csv.ICsvWriter.NextRecord"/> must be called
            to complete writing of the current record.
            </summary>
            <typeparam name="T">The type of the field.</typeparam>
            <param name="field">The field to write.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvWriter.NextRecord">
            <summary>
            Ends writing of the current record
            and starts a new record. This is used
            when manually writing records with <see cref="M:WA.FileHelpers.Csv.ICsvWriter.WriteField``1(``0)"/>
            </summary>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvWriter.WriteRecord``1(``0)">
            <summary>
            Writes the record to the CSV file.
            </summary>
            <typeparam name="T">The type of the record.</typeparam>
            <param name="record">The record to write.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvWriter.WriteRecords``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Writes the list of records to the CSV file.
            </summary>
            <typeparam name="T">The type of the record.</typeparam>
            <param name="records">The list of records to write.</param>
        </member>
        <member name="P:WA.FileHelpers.Csv.ICsvWriter.Delimiter">
            <summary>
            Gets or sets the delimiter used to
            separate the fields of the CSV records.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.ICsvWriter.HasHeaderRecord">
            <summary>
            Gets are sets a value indicating if the
            CSV file has a header record.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.ICsvWriter.PropertyBindingFlags">
            <summary>
            Gets the binding flags used to get the properties
            from the the custom class object.
            </summary>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvWriter.#ctor(System.IO.StreamWriter)">
            <summary>
            Creates a new CSV writer using the given <see cref="T:System.IO.StreamWriter"/>.
            </summary>
            <param name="writer">The writer used to write the CSV file.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvWriter.#ctor(System.IO.StreamWriter,WA.FileHelpers.Csv.CsvWriterOptions)">
            <summary>
            Creates a new CSV writer using the given <see cref="T:System.IO.StreamWriter"/>
            and <see cref="T:WA.FileHelpers.Csv.CsvWriterOptions"/>.
            </summary>
            <param name="writer">The <see cref="T:System.IO.StreamWriter"/> use to write the CSV file.</param>
            <param name="options">The <see cref="T:WA.FileHelpers.Csv.CsvWriterOptions"/> used to write the CSV file.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvWriter.WriteField(System.String)">
            <summary>
            Writes the field to the CSV file.
            When all fields are written for a record,
            <see cref="M:WA.FileHelpers.Csv.ICsvWriter.NextRecord"/> must be called
            to complete writing of the current record.
            </summary>
            <param name="field">The field to write.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvWriter.WriteField``1(``0)">
            <summary>
            Writes the field to the CSV file.
            When all fields are written for a record,
            <see cref="M:WA.FileHelpers.Csv.ICsvWriter.NextRecord"/> must be called
            to complete writing of the current record.
            </summary>
            <typeparam name="T">The type of the field.</typeparam>
            <param name="field">The field to write.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvWriter.WriteField``1(``0,System.ComponentModel.TypeConverter)">
            <summary>
            Writes the field to the CSV file.
            When all fields are written for a record,
            <see cref="M:WA.FileHelpers.Csv.ICsvWriter.NextRecord"/> must be called
            to complete writing of the current record.
            </summary>
            <typeparam name="T">The type of the field.</typeparam>
            <param name="field">The field to write.</param>
            <param name="converter">The converter used to convert the field into a string.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvWriter.NextRecord">
            <summary>
            Ends writing of the current record
            and starts a new record. This is used
            when manually writing records with <see cref="M:WA.FileHelpers.Csv.ICsvWriter.WriteField``1(``0)"/>
            </summary>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvWriter.WriteRecord``1(``0)">
            <summary>
            Writes the record to the CSV file.
            </summary>
            <typeparam name="T">The type of the record.</typeparam>
            <param name="record">The record to write.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvWriter.WriteRecords``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Writes the list of records to the CSV file.
            </summary>
            <typeparam name="T">The type of the record.</typeparam>
            <param name="records">The list of records to write.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvWriter.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvWriter.Dispose(System.Boolean)">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <param name="disposing">True if the instance needs to be disposed of.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvWriter.CheckDisposed">
            <summary>
            Checks if the instance has been disposed of.
            </summary>
            <exception cref="T:System.ObjectDisposedException"/>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvWriter.WriteHeader(System.Reflection.PropertyInfo[])">
            <summary>
            Writes the header record from the given properties.
            </summary>
            <param name="properties">The properties to write the header record from.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvWriter.GetProperties``1">
            <summary>
            Gets the properties for the given <see cref="T:System.Type"/>.
            </summary>
            <typeparam name="T">The type to get the properties for.</typeparam>
            <returns>The properties for the given <see cref="T:System.Type"/>/</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvWriter.GetAction``1">
            <summary>
            Gets the action delegate used to write the custom
            class object to the writer.
            </summary>
            <typeparam name="T">The type of the custom class being written.</typeparam>
            <returns>The action delegate.</returns>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvWriter.Delimiter">
            <summary>
            Gets or sets the delimiter used to
            separate the fields of the CSV records.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvWriter.HasHeaderRecord">
            <summary>
            Gets are sets a value indicating if the
            CSV file has a header record.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvWriter.PropertyBindingFlags">
            <summary>
            Gets the binding flags used to get the properties
            from the the custom class object.
            </summary>
        </member>
        <member name="T:WA.FileHelpers.Csv.CsvReader">
            <summary>
            Reads data that was parsed from <see cref="T:WA.FileHelpers.Csv.ICsvParser"/>.
            </summary>
        </member>
        <member name="T:WA.FileHelpers.Csv.ICsvReader">
            <summary>
            Defines methods used to read parsed data
            from a CSV file.
            </summary>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvReader.Read">
            <summary>
            Advances the reader to the next record.
            </summary>
            <returns>True if there are more records, otherwise false.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvReader.GetField(System.Int32)">
            <summary>
            Gets the raw field at index.
            </summary>
            <param name="index">The index of the field.</param>
            <returns>The raw field.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvReader.GetField(System.String)">
            <summary>
            Gets the raw field at name.
            </summary>
            <param name="name">The named index of the field.</param>
            <returns>The raw field.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvReader.GetField``1(System.Int32)">
            <summary>
            Gets the field converted to <see cref="T:System.Type"/> T at index.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the field.</typeparam>
            <param name="index">The index of the field.</param>
            <returns>The field converted to <see cref="T:System.Type"/> T.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvReader.GetField``1(System.String)">
            <summary>
            Gets the field converted to <see cref="T:System.Type"/> T at name.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the field.</typeparam>
            <param name="name">The named index of the field.</param>
            <returns>The field converted to <see cref="T:System.Type"/> T.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvReader.GetField``1(System.Int32,System.ComponentModel.TypeConverter)">
            <summary>
            Gets the field converted to <see cref="T:System.Type"/> T at index using
            the given <see cref="T:System.ComponentModel.TypeConverter"/>.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the field.</typeparam>
            <param name="index">The index of the field.</param>
            <param name="converter">The <see cref="T:System.ComponentModel.TypeConverter"/> used to convert the field to <see cref="T:System.Type"/> T.</param>
            <returns>The field converted to <see cref="T:System.Type"/> T.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvReader.GetField``1(System.String,System.ComponentModel.TypeConverter)">
            <summary>
            Gets the field converted to <see cref="T:System.Type"/> T at name using
            the given <see cref="T:System.ComponentModel.TypeConverter"/>.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the field.</typeparam>
            <param name="name">The named index of the field.</param>
            <param name="converter">The <see cref="T:System.ComponentModel.TypeConverter"/> used to convert the field to <see cref="T:System.Type"/> T.</param>
            <returns>The field converted to <see cref="T:System.Type"/> T.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvReader.TryGetField(System.Int32,System.String@)">
            <summary>
            Gets the raw field at index.
            </summary>
            <param name="index">The index of the field.</param>
            <param name="field">The raw field.</param>
            <returns>A value indicating if the get was successful.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvReader.TryGetField(System.String,System.String@)">
            <summary>
            Gets the raw field at name.
            </summary>
            <param name="name">The named index of the field.</param>
            <param name="field">The raw field.</param>
            <returns>A value indicating if the get was successful.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvReader.TryGetField``1(System.Int32,``0@)">
            <summary>
            Gets the field converted to <see cref="T:System.Type"/> T at index.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the field.</typeparam>
            <param name="index">The index of the field.</param>
            <param name="field">The field converted to type T.</param>
            <returns>A value indicating if the get was successful.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvReader.TryGetField``1(System.String,``0@)">
            <summary>
            Gets the field converted to <see cref="T:System.Type"/> T at name.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the field.</typeparam>
            <param name="name">The named index of the field.</param>
            <param name="field">The field converted to <see cref="T:System.Type"/> T.</param>
            <returns>A value indicating if the get was successful.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvReader.TryGetField``1(System.Int32,System.ComponentModel.TypeConverter,``0@)">
            <summary>
            Gets the field converted to <see cref="T:System.Type"/> T at index
            using the specified <see cref="T:System.ComponentModel.TypeConverter"/>.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the field.</typeparam>
            <param name="index">The index of the field.</param>
            <param name="converter">The <see cref="T:System.ComponentModel.TypeConverter"/> used to convert the field to <see cref="T:System.Type"/> T.</param>
            <param name="field">The field converted to <see cref="T:System.Type"/> T.</param>
            <returns>A value indicating if the get was successful.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvReader.TryGetField``1(System.String,System.ComponentModel.TypeConverter,``0@)">
            <summary>
            Gets the field converted to <see cref="T:System.Type"/> T at name
            using the specified <see cref="T:System.ComponentModel.TypeConverter"/>.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the field.</typeparam>
            <param name="name">The named index of the field.</param>
            <param name="converter">The <see cref="T:System.ComponentModel.TypeConverter"/> used to convert the field to <see cref="T:System.Type"/> T.</param>
            <param name="field">The field converted to <see cref="T:System.Type"/> T.</param>
            <returns>A value indicating if the get was successful.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvReader.GetRecord``1">
            <summary>
            Gets the record converted into <see cref="T:System.Type"/> T.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the record.</typeparam>
            <returns>The record converted to <see cref="T:System.Type"/> T.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvReader.GetRecords``1">
            <summary>
            Gets all the records in the CSV file and
            converts each to <see cref="T:System.Type"/> T. The Read method
            should not be used when using this.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the record.</typeparam>
            <returns>An <see cref="T:System.Collections.Generic.IList`1"/> of records.</returns>
        </member>
        <member name="P:WA.FileHelpers.Csv.ICsvReader.FieldHeaders">
            <summary>
            Gets the field headers.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.ICsvReader.HasHeaderRecord">
            <summary>
            A value indicating if the CSV file has a header record.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.ICsvReader.PropertyBindingFlags">
            <summary>
            Gets the binding flags used to populate
            custom class objects.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.ICsvReader.Strict">
            <summary>
            Gets a value indicating if strict reading is enabled.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.ICsvReader.Item(System.Int32)">
            <summary>
            Gets the raw field at index.
            </summary>
            <param name="index">The index of the field.</param>
            <returns>The raw field.</returns>
        </member>
        <member name="P:WA.FileHelpers.Csv.ICsvReader.Item(System.String)">
            <summary>
            Gets the raw string field at name.
            </summary>
            <param name="name">The named index of the field.</param>
            <returns>The raw field.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.#ctor(System.IO.StreamReader)">
            <summary>
            Creates a new CSV reader using <see cref="T:WA.FileHelpers.Csv.CsvParser"/> as
            the default parser.
            </summary>
            <param name="reader"></param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.#ctor(WA.FileHelpers.Csv.ICsvParser)">
            <summary>
            Creates a new CSV reader using the given <see cref="T:WA.FileHelpers.Csv.ICsvParser"/>.
            </summary>
            <param name="parser">The <see cref="T:WA.FileHelpers.Csv.ICsvParser"/> used to parse the CSV file.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.#ctor(WA.FileHelpers.Csv.ICsvParser,WA.FileHelpers.Csv.CsvReaderOptions)">
            <summary>
            Creates a new CSV reader using the given <see cref="T:WA.FileHelpers.Csv.ICsvParser"/> and <see cref="T:WA.FileHelpers.Csv.CsvReaderOptions"/>.
            </summary>
            <param name="parser">The <see cref="T:WA.FileHelpers.Csv.ICsvParser"/> used to parse the CSV file.</param>
            <param name="options">The <see cref="T:WA.FileHelpers.Csv.CsvReaderOptions"/> used to read the parsed CSV file.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.Read">
            <summary>
            Advances the reader to the next record.
            If HasHeaderRecord is true (true by default), the first record of
            the CSV file will be automatically read in as the header record
            and the second record will be returned.
            </summary>
            <returns>True if there are more records, otherwise false.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.GetField(System.Int32)">
            <summary>
            Gets the raw field at index.
            </summary>
            <param name="index">The index of the field.</param>
            <returns>The raw field.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.GetField(System.String)">
            <summary>
            Gets the raw field at name.
            </summary>
            <param name="name">The named index of the field.</param>
            <returns>The raw field.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.GetField``1(System.Int32)">
            <summary>
            Gets the field converted to <see cref="T:System.Type"/> T at index.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the field.</typeparam>
            <param name="index">The index of the field.</param>
            <returns>The field converted to <see cref="T:System.Type"/> T.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.GetField``1(System.String)">
            <summary>
            Gets the field converted to <see cref="T:System.Type"/> T at name.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the field.</typeparam>
            <param name="name">The named index of the field.</param>
            <returns>The field converted to <see cref="T:System.Type"/> T.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.GetField``1(System.Int32,System.ComponentModel.TypeConverter)">
            <summary>
            Gets the field converted to <see cref="T:System.Type"/> T at index using
            the given <see cref="T:System.ComponentModel.TypeConverter"/>.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the field.</typeparam>
            <param name="index">The index of the field.</param>
            <param name="converter">The <see cref="T:System.ComponentModel.TypeConverter"/> used to convert the field to <see cref="T:System.Type"/> T.</param>
            <returns>The field converted to <see cref="T:System.Type"/> T.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.GetField``1(System.String,System.ComponentModel.TypeConverter)">
            <summary>
            Gets the field converted to <see cref="T:System.Type"/> T at name using
            the given <see cref="T:System.ComponentModel.TypeConverter"/>.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the field.</typeparam>
            <param name="name">The named index of the field.</param>
            <param name="converter">The <see cref="T:System.ComponentModel.TypeConverter"/> used to convert the field to <see cref="T:System.Type"/> T.</param>
            <returns>The field converted to <see cref="T:System.Type"/> T.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.TryGetField(System.Int32,System.String@)">
            <summary>
            Gets the raw field at index.
            </summary>
            <param name="index">The index of the field.</param>
            <param name="field">The raw field.</param>
            <returns>A value indicating if the get was successful.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.TryGetField(System.String,System.String@)">
            <summary>
            Gets the raw field at name.
            </summary>
            <param name="name">The named index of the field.</param>
            <param name="field">The raw field.</param>
            <returns>A value indicating if the get was successful.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.TryGetField``1(System.Int32,``0@)">
            <summary>
            Gets the field converted to <see cref="T:System.Type"/> T at index.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the field.</typeparam>
            <param name="index">The index of the field.</param>
            <param name="field">The field converted to type T.</param>
            <returns>A value indicating if the get was successful.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.TryGetField``1(System.String,``0@)">
            <summary>
            Gets the field converted to <see cref="T:System.Type"/> T at name.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the field.</typeparam>
            <param name="name">The named index of the field.</param>
            <param name="field">The field converted to <see cref="T:System.Type"/> T.</param>
            <returns>A value indicating if the get was successful.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.TryGetField``1(System.Int32,System.ComponentModel.TypeConverter,``0@)">
            <summary>
            Gets the field converted to <see cref="T:System.Type"/> T at index
            using the specified <see cref="T:System.ComponentModel.TypeConverter"/>.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the field.</typeparam>
            <param name="index">The index of the field.</param>
            <param name="converter">The <see cref="T:System.ComponentModel.TypeConverter"/> used to convert the field to <see cref="T:System.Type"/> T.</param>
            <param name="field">The field converted to <see cref="T:System.Type"/> T.</param>
            <returns>A value indicating if the get was successful.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.TryGetField``1(System.String,System.ComponentModel.TypeConverter,``0@)">
            <summary>
            Gets the field converted to <see cref="T:System.Type"/> T at name
            using the specified <see cref="T:System.ComponentModel.TypeConverter"/>.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the field.</typeparam>
            <param name="name">The named index of the field.</param>
            <param name="converter">The <see cref="T:System.ComponentModel.TypeConverter"/> used to convert the field to <see cref="T:System.Type"/> T.</param>
            <param name="field">The field converted to <see cref="T:System.Type"/> T.</param>
            <returns>A value indicating if the get was successful.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.GetRecord``1">
            <summary>
            Gets the record converted into <see cref="T:System.Type"/> T.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the record.</typeparam>
            <returns>The record converted to <see cref="T:System.Type"/> T.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.GetRecords``1">
            <summary>
            Gets all the records in the CSV file and
            converts each to <see cref="T:System.Type"/> T. The Read method
            should not be used when using this.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of the record.</typeparam>
            <returns>An <see cref="T:System.Collections.Generic.IList`1"/> of records.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.Dispose(System.Boolean)">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <param name="disposing">True if the instance needs to be disposed of.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.CheckDisposed">
            <summary>
            Checks if the instance has been disposed of.
            </summary>
            <exception cref="T:System.ObjectDisposedException"/>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.CheckHasBeenRead">
            <summary>
            Checks if the reader has been read yet.
            </summary>
            <exception cref="T:System.InvalidOperationException"/>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.GetField(System.Int32,System.ComponentModel.TypeConverter)">
            <summary>
            Gets the field converted to <see cref="T:System.Object"/> using
            the specified <see cref="T:System.ComponentModel.TypeConverter"/>.
            </summary>
            <param name="index">The index of the field.</param>
            <param name="converter">The <see cref="T:System.ComponentModel.TypeConverter"/> used to convert the field to <see cref="T:System.Object"/>.</param>
            <returns>The field converted to <see cref="T:System.Object"/>.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.GetField(System.String,System.ComponentModel.TypeConverter)">
            <summary>
            Gets the field converted to <see cref="T:System.Object"/> using
            the specified <see cref="T:System.ComponentModel.TypeConverter"/>.
            </summary>
            <param name="name">The named index of the field.</param>
            <param name="converter">The <see cref="T:System.ComponentModel.TypeConverter"/> used to convert the field to <see cref="T:System.Object"/>.</param>
            <returns>The field converted to <see cref="T:System.Object"/>.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.GetFieldIndex(System.String)">
            <summary>
            Gets the index of the field at name if found.
            </summary>
            <param name="name">The name of the field to get the index for.</param>
            <returns>The index of the field if found, otherwise -1.</returns>
            <exception cref="T:System.MissingFieldException">Thrown if there isn't a field with name.</exception>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.ParseNamedIndexes">
            <summary>
            Parses the named indexes from the header record.
            </summary>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvReader.GetRecordFunc``1">
            <summary>
            Gets the function delegate used to populate
            a custom class object with data from the reader.
            </summary>
            <typeparam name="T">The <see cref="T:System.Type"/> of object that is created
            and populated.</typeparam>
            <returns>The function delegate.</returns>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvReader.HasHeaderRecord">
            <summary>
            A value indicating if the CSV file has a header record.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvReader.FieldHeaders">
            <summary>
            Gets the field headers.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvReader.Strict">
            <summary>
            Gets a value indicating if strict reading is enabled.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvReader.PropertyBindingFlags">
            <summary>
            Gets the binding flags used to populate
            custom class objects.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvReader.Item(System.Int32)">
            <summary>
            Gets the raw field at index.
            </summary>
            <param name="index">The index of the field.</param>
            <returns>The raw field.</returns>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvReader.Item(System.String)">
            <summary>
            Gets the raw string field at name.
            </summary>
            <param name="name">The named index of the field.</param>
            <returns>The raw field.</returns>
        </member>
        <member name="M:WA.Extensions.NumericExt.RoundForMoney(System.Decimal)">
            <summary>
            Round a decimal value for use as a Money Amount
            </summary>
            <param name="source"></param>
            <returns></returns>
        </member>
        <member name="T:WA.Integration.Basecamp.BasecampXmlParser">
            <summary>
            Parses and transforms XML returned by Basecamp API into C# Objects
            </summary>
        </member>
        <member name="M:WA.Reflection.GetDerivedClassNames(System.Type)">
            <summary>
            Get the derived class names of the parentType (base class)
            </summary>
            <param name="parentType"></param>
            <returns></returns>
        </member>
        <member name="T:WA.FileHelpers.Csv.ReflectionHelper">
            <summary>
            Common reflection tasks.
            </summary>
        </member>
        <member name="M:WA.FileHelpers.Csv.ReflectionHelper.GetAttribute``1(System.Reflection.PropertyInfo,System.Boolean)">
            <summary>
            Gets the first attribute of type T on property.
            </summary>
            <typeparam name="T">Type of attribute to get.</typeparam>
            <param name="property">The <see cref="T:System.Reflection.PropertyInfo"/> to get the attribute from.</param>
            <param name="inherit">True to search inheritance tree, otherwise false.</param>
            <returns>The first attribute of type T, otherwise null.</returns>
        </member>
        <member name="T:WA.FileHelpers.Csv.CsvFieldAttribute">
            <summary>
            Used to set behavior of a field when
            reading a writing a CSV file.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvFieldAttribute.FieldName">
            <summary>
            When reading, is used to get the field
            at the index of the name if there was a
            header specified. When writing, sets
            the name of the field in the header record.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvFieldAttribute.FieldIndex">
            <summary>
            When reading, is used to get the field at
            the given index. If a FieldName is specified,
            that will be used instead. When writing, the fields
            will be written in the order of the field
            indexes.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvFieldAttribute.Ignore">
            <summary>
            When reading, not used. When writing,
            ignores the property and doesn't
            write it to the CSV file.
            </summary>
        </member>
        <member name="T:WA.Cryptography.SimpleHash">
            <summary>
            Simple class to compute SHA1 hashes
            </summary>
        </member>
        <member name="M:WA.Cryptography.SimpleHash.ComputeHash(System.String)">
            <summary>
            Computes an SHA1 hash value on the input string and returns a Base-64 encoded result
            </summary>
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Cryptography.SimpleHash.ComputeHashWithRandomSalt(System.String)">
            <summary>
            Generates an SHA1 hash for the given plain text value and returns a
            base64-encoded result. Before the hash is computed, a random salt
            is generated and appended to the plain text. This salt is stored at
            the end of the hash value, so it can be used later for hash
            verification.
            </summary>
            <param name="plainText">
            Plaintext value to be hashed. The function does not check whether
            this parameter is null.
            </param>
            <returns>
            Hash value formatted as a base64-encoded string.
            </returns>
        </member>
        <member name="M:WA.Cryptography.SimpleHash.ComputeHashWithSalt(System.String,System.Byte[])">
            <summary>
            Generates an SHA1 hash for the given plain text value and returns a
            base64-encoded result. Before the hash is computed, a salt
            is appended to the plain text. This salt is stored at
            the end of the hash value, so it can be used later for hash
            verification.
            </summary>
            <param name="plainText">
            Plaintext value to be hashed. The function does not check whether
            this parameter is null.
            </param>
            <param name="saltBytes">
            Salt bytes. This parameter can be null, in which case a random salt
            value will be generated.
            </param>
            <returns>
            Hash value formatted as a base64-encoded string.
            </returns>
        </member>
        <member name="M:WA.Cryptography.SimpleHash.InputMatchesSaltedHash(System.String,System.String)">
            <summary>
            Compares a hash of the specified plain text value to a given hash
            value. Plain text is hashed with the same salt value as the original
            hash.
            </summary>
            <param name="plainText">
            Plain text to be verified against the specified hash. The function
            does not check whether this parameter is null.
            </param>
            <param name="hashedValue">
            Base64-encoded hash value produced by ComputeHash function. This value
            includes the original salt appended to it.
            </param>
            <returns>
            If computed hash mathes the specified hash the function the return
            value is true; otherwise, the function returns false.
            </returns>
        </member>
        <member name="M:WA.FileHelpers.iCal.ICalHelper.CreateICalEntry(System.DateTime,System.DateTime,System.String,System.String,System.String,System.String)">
            <summary>
            Compose a string representing an iCal entry that conforms to iCal format RFC 2445
            </summary>
            <returns>string in iCal format</returns>
        </member>
        <member name="T:WA.FileHelpers.Csv.CsvPropertyInfoComparer">
            <summary>
            Used to compare properties by <see cref="T:WA.FileHelpers.Csv.CsvFieldAttribute"/>.
            </summary>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvPropertyInfoComparer.#ctor(System.Boolean)">
            <summary>
            Creates a new instance of CsvFieldAttributeComparer.
            </summary>
            <param name="useFieldName">True to compare by <see cref="P:WA.FileHelpers.Csv.CsvFieldAttribute.FieldName"/>, otherwise compares by <see cref="P:WA.FileHelpers.Csv.CsvFieldAttribute.FieldIndex"/>.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvPropertyInfoComparer.Compare(System.Object,System.Object)">
            <summary>
            Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other.
            </summary>
            <returns>
            Value 
                                Condition 
                                Less than zero 
                            <paramref name="x"/> is less than <paramref name="y"/>. 
                                Zero 
                            <paramref name="x"/> equals <paramref name="y"/>. 
                                Greater than zero 
                            <paramref name="x"/> is greater than <paramref name="y"/>. 
            </returns>
            <param name="x">The first object to compare. 
                            </param><param name="y">The second object to compare. 
                            </param><exception cref="T:System.ArgumentException">Neither <paramref name="x"/> nor <paramref name="y"/> implements the <see cref="T:System.IComparable"/> interface.
                                -or- 
                            <paramref name="x"/> and <paramref name="y"/> are of different types and neither one can handle comparisons with the other. 
                            </exception><filterpriority>2</filterpriority>
        </member>
        <member name="M:WA.Extensions.ObjectExt.DeepClone(System.Object)">
            <summary>
            Perform a "Deep Clone" of the object by serializing and then deserializing. DOES NOT WORK IN MEDIUM TRUST !
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="T:WA.FileHelpers.Csv.ICsvParser">
            <summary>
            Defines methods used the parse a CSV file.
            </summary>
        </member>
        <member name="M:WA.FileHelpers.Csv.ICsvParser.Read">
            <summary>
            Reads a record from the CSV file.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.List`1"/> of fields for the record read.</returns>
        </member>
        <member name="P:WA.FileHelpers.Csv.ICsvParser.BufferSize">
            <summary>
            Gets the size of the buffer
            used when reading the stream.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.ICsvParser.Delimiter">
            <summary>
            Gets the delimiter used to
            separate the fields of the CSV records.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.ICsvParser.FieldCount">
            <summary>
            Gets the field count.
            </summary>
        </member>
        <member name="T:WA.FileHelpers.Csv.CsvReaderOptions">
            <summary>
            Options for the <see cref="T:WA.FileHelpers.Csv.CsvReader"/>.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvReaderOptions.Strict">
            <summary>
            Gets or sets the strict reading flag.
            True to enable strict reading, otherwise false.
            Strict reading will cause a <see cref="T:System.MissingFieldException"/>
            to be thrown if a named index is not found.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvReaderOptions.PropertyBindingFlags">
            <summary>
            Gets or sets the property binding flags.
            This determines what properties on the custom
            class are used when reading records. Default
            is Public | Instance.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvReaderOptions.HasHeaderRecord">
            <summary>
            Gets or sets a value indicating if the
            CSV file being read has a header record.
            Default is true.
            </summary>
        </member>
        <member name="T:WA.Components.ConsoleProgressBar">
            <summary>
            Component that can display a running "progress bar" inside a Console window
            </summary>
        </member>
        <member name="M:WA.Web.WebHelper.SetQueryParamInUrl(System.String,System.String,System.String)">
            <summary>
            Adds or Updates the parameter in the QueryString of the given URL
            </summary>
            <param name="name"></param>
            <param name="value"></param>
            <param name="url"></param>
        </member>
        <member name="M:WA.Web.WebHelper.SetEnterKeyHandlerButtonForControl(System.Web.UI.WebControls.WebControl,System.Web.UI.WebControls.WebControl)">
            <summary>
            Cause the 'button' control to be clicked when the user presses the 'Enter' key and the 'control' has focus.                
            </summary>
            <param name="button"></param>
            <param name="control"></param>
        </member>
        <member name="M:WA.Web.WebHelper.RegisterJavascriptFileInPageHeader(System.String,System.Web.UI.Page@)">
            <summary>
            Add a &lt;script /&gt; tag in the page header with a "src" attribute referencing the javascript file.
            </summary>
        </member>
        <member name="M:WA.Web.WebHelper.FindControlByRecursiveSearch(System.Web.UI.Control,System.String)">
            <summary>
            Find a Control by recursively searching through all Child Controls of the Parent Control
            </summary>
            <param name="parentControl"></param>
            <param name="controlIdToFind"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Web.WebHelper.GetFormValuesByName(System.String,System.Web.HttpRequest)">
            <summary>
            Get a list of posted form values by exact-match on the HTML "name" attribute.
            Useful for multi-value fields like radio-button groups, checkbox groups, etc.
            </summary>            
            <param name="htmlName"></param>        
            <param name="request"></param>
            <returns></returns>        
        </member>
        <member name="M:WA.Web.WebHelper.GetFormValuesByNamePrefix(System.String,System.Web.HttpRequest)">
            <summary>
            Get a list of posted form values by matching prefixes on the HTML "name" attribute.
            Useful for multi-value fields like radio-button groups, checkbox groups, etc.
            </summary>                    
            <param name="htmlNamePrefix"></param>
            <param name="request"></param>
            <returns></returns>        
        </member>
        <member name="M:WA.Web.WebHelper.GetFormValuesByNameMatch(System.String,WA.Web.WebHelper.HtmlNameMatch,System.Web.HttpRequest)">
            <summary>
            Get a list of posted form values by matching on the HTML "name" attribute.
            </summary>                 
        </member>
        <member name="M:WA.Web.WebHelper.GetFormValueDictionaryByNameMatch(System.Text.RegularExpressions.Regex,System.Text.RegularExpressions.Regex,System.Web.HttpRequest)">
            <summary>
            Extract Form values into a Dictionary object, matching input by name and extracting keys from the name.
            </summary>
            <param name="nameFilter"><remarks>Pattern to match form input 'name' attribute</remarks></param>
            <param name="dictKeyExtraction"><remarks>Pattern to extract the 'key' used for the Dictionary object, should result in a single match</remarks></param>
            <param name="request"></param>
            <returns></returns>
        </member>
        <member name="T:WA.Integration.Basecamp.TimeTrackingController">
            <summary>
            Encapsulates methods for the Basecamp "Time Tracking" API
            </summary>
        </member>
        <member name="T:WA.Integration.Basecamp.BasecampApi">
            <summary>
            Use this class as the main interaction point with Basecamp.
            It's composed of the individual BasecampController classes and 
            provides a nice simple object for accessing the basecamp api methods by type.
            </summary>
        </member>
        <member name="T:WA.FileHelpers.VCard.SimpleVCard">
            <summary>
            Simple class that encapsulates vCard fields and can output a vCard string for saving to a *.vcf file.    
            </summary>
        </member>
        <member name="M:WA.Extensions.StringExt.ToList(System.String,System.String)">
            <summary>
            Converst a delimited string into a List of strings
            </summary>
            <param name="source"></param>
            <param name="tokenSeparator"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.StringExt.ToList(System.String,System.String,System.Boolean)">
            <summary>
            Converst a delimited string into a List of strings
            </summary>
            <param name="source"></param>
            <param name="tokenSeparator"></param>
            <param name="trimWhitespace">Automatically trim whitespace from each item</param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.StringExt.ToListOfInt(System.String,System.String)">
            <summary>
            Converts a delimited string into a List of integers
            </summary>
            <param name="source"></param>
            <param name="tokenSeparator"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.StringExt.ReplaceAllUrlTextWithAnchorTags(System.String)">
            <summary>
            Replace any text that is a URL with an actual HTML link to the URL
            </summary>
            <param name="source"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.StringExt.EnsureStartsWith(System.String,System.String)">
            <summary>
            Prepend a prefix if it's not already present
            </summary>
            <param name="source"></param>
            <param name="prefix"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.StringExt.TrimStart(System.String,System.String)">
            <summary>
            Remove a prefix from the string if it exists
            </summary>
            <param name="source"></param>
            <param name="prefix"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.StringExt.EnsureEndsWith(System.String,System.String)">
            <summary>
            Append a suffix if it's not already present
            </summary>
            <param name="source"></param>
            <param name="suffix"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.StringExt.TrimEnd(System.String,System.String)">
            <summary>
            Remove a suffix from the string if it exists
            </summary>
            <param name="source"></param>
            <param name="suffix"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.StringExt.Right(System.String,System.Int32)">
            <summary>
            Grab the last "x" number of characters from the end of the string (safely handling boundaries)
            </summary>
            <param name="source"></param>
            <param name="numOfChars"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.StringExt.Left(System.String,System.Int32)">
            <summary>
            Grab the first "x" number of characters from the beginning of the string (safely handling boundaries)
            </summary>
            <param name="source"></param>
            <param name="numOfChars"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.StringExt.ChopAt(System.String,System.Int32)">
            <summary>
            "Chop" the string off at the desired position.
            </summary>
            <param name="source"></param>
            <param name="numOfChars"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.StringExt.ChopAtWithSuffix(System.String,System.Int32,System.String)">
            <summary>
            "Chop" the string off at the desired position, and appends a suffix string if the string was chopped.
            </summary>
            <param name="source"></param>
            <param name="numOfChars"></param>
            <param name="suffixIfChopped"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.StringExt.NewlineToBr(System.String)">
            <summary>
            Replaces the newline "\n" character with the HTML &lt;br&gt; tag
            </summary>
            <param name="source"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.StringExt.BrToNewline(System.String)">
            <summary>
            Replaces the HTML &lt;br /&gt; and &lt;br&gt; tags with the newline character "\n"
            </summary>
            <param name="source"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Extensions.StringExt.SanitizeForUrlPageName(System.String)">
            <summary>
            Sanitize/cleanup the string so it can be safely used in a url as a page name
            </summary>
            <param name="source"></param>
            <returns></returns>
        </member>
        <member name="T:WA.Extensions.PaginationExt">
            <summary>
            Adapted From: http://www.squaredroot.com/post/2008/07/08/PagedList-Strikes-Back.aspx
            </summary>
        </member>
        <member name="T:WA.Components.TokenProcessor">
            <summary>
            Class for handling bulk string token replacements
            </summary>
        </member>
        <member name="M:WA.Components.TokenProcessor.ReplaceToken(System.String,System.String,System.String)">
            <summary>
            Replace all occurrences of the token name in the input string with the specified value.
            </summary>
            <param name="input"></param>
            <param name="tokenName"></param>
            <param name="tokenValue"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Components.TokenProcessor.ReplaceTokensInFile(System.String,System.Collections.Generic.Dictionary{System.String,System.String})">
            <summary>
            Open the template file from disk and replace tokens with values in the dictionary.        
            </summary>
            <param name="templateFilename"></param>
            <param name="tokenNameValues"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Components.TokenProcessor.ReplaceTokensInString(System.String,System.Collections.Generic.Dictionary{System.String,System.String})">
            <summary>
            Replace tokens in the input string with values in the dictionary.
            </summary>
            <param name="input"></param>
            <param name="tokenNameValues"></param>
            <returns></returns>
        </member>
        <member name="T:WA.FileHelpers.DirectoryHelper">
            <summary>
             Helper methods for working with System.IO.Directory objects
            </summary>
        </member>
        <member name="M:WA.FileHelpers.DirectoryHelper.GetFiles(System.String,System.Collections.Generic.List{System.String},System.IO.SearchOption)">
            <summary>
            </summary>
            <param name="path"></param>
            <param name="searchPatterns"></param>
            <param name="searchOption"></param>
            <returns></returns>
        </member>
        <member name="T:WA.WordFilter">
            <summary>
            Class for searching input strings for matches on specific words.
            This is useful when implementing a "blocked words" feature for user input.
            </summary>
        </member>
        <member name="M:WA.WordFilter.InputContainsFilteredWord(System.String)">
            <summary>
            Determine if the input string contains one or more words from the word list
            </summary>
        </member>
        <member name="M:WA.WordFilter.InputContainsFilteredWord(System.String,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Determine if the input string contains one or more words from the word list
            </summary>
        </member>
        <member name="F:WA.RegularExpressions.NonAlphaNumeric">
            <summary>
            Match any character that is NOT [0-9] or [A-Z] or [a-z] into a numbered capture group
            </summary> 
        </member>
        <member name="F:WA.RegularExpressions.SingleQuote">
            <summary>
            Matches the single quote character and Unicode equivalents
            </summary>
        </member>
        <member name="F:WA.RegularExpressions.OneOrMoreHyphens">
            <summary>
            Matches a hyphen character and the Unicode equivalents
            </summary>
        </member>
        <member name="T:WA.FileHelpers.Csv.CsvWriterOptions">
            <summary>
            Options for the <see cref="T:WA.FileHelpers.Csv.CsvWriter"/>.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvWriterOptions.Delimiter">
            <summary>
            Gets or sets the delimiter used when
            writing the CSV file.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvWriterOptions.HasHeaderRecord">
            <summary>
            Gets or sets a value indicating a header
            record should be written to the CSV file.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvWriterOptions.PropertyBindingFlags">
            <summary>
            Gets or sets the property binding flags.
            This determines what properties on the custom
            class are used when writing records. Default
            is Public | Instance.
            </summary>
        </member>
        <member name="T:WA.Cryptography.PronounceablePasswordGenerator">
            <summary>
            Generates passwords that are pronounceable by humans and/or easier to say aloud.
            </summary>
            <remarks>
            Original Java code from http://www.multicians.org/thvv/gpw.html. This class is free to use without restrictions.
            </remarks>
        </member>
        <member name="M:WA.Cryptography.PronounceablePasswordGenerator.GeneratePasswordWithLength(System.Int32)">
            <summary>
            Generates a pronounceable password
            </summary>
            <param name="passwordLength"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Cryptography.PronounceablePasswordGenerator.GenerateMultiplePasswordsWithLength(System.Int32,System.Int32)">
            <summary>
            Generates a set of pronounceable passwords.
            </summary>
            <param name="numOfPasswords">The number of passwords to generate.</param>
            <param name="passwordLength">The character length of the passwords.</param>
            <returns>A List of passwords as strings.</returns>
        </member>
        <member name="T:WA.FileHelpers.Csv.CsvParser">
            <summary>
            Parses a CSV file.
            </summary>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvParser.#ctor(System.IO.StreamReader)">
            <summary>
            Creates a new parser using the given <see cref="T:System.IO.StreamReader"/>.
            </summary>
            <param name="reader">The <see cref="T:System.IO.StreamReader"/> with the CSV file data.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvParser.#ctor(System.IO.StreamReader,WA.FileHelpers.Csv.CsvParserOptions)">
            <summary>
            Creates a new parser using the given <see cref="T:System.IO.StreamReader"/>
            and <see cref="T:WA.FileHelpers.Csv.CsvParserOptions"/>.
            </summary>
            <param name="reader">The <see cref="T:System.IO.StreamReader"/> with teh CSV file data.</param>
            <param name="options">The <see cref="T:WA.FileHelpers.Csv.CsvParserOptions"/> used for parsing the CSV file.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvParser.Read">
            <summary>
            Reads a record from the CSV file.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.List`1"/> of fields for the record read.
            If there are no more records, null is returned.</returns>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvParser.AddFieldToRecord(System.Int32@,System.String,System.Boolean)">
            <summary>
            Adds the field to the current record.
            </summary>
            <param name="recordPosition">The record position to add the field to.</param>
            <param name="field">The field to add.</param>
            <param name="hasQuotes">True if the field is quoted, otherwise false.</param>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvParser.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvParser.Dispose(System.Boolean)">
            <summary>
            Checks if the instance has been disposed of.
            </summary>
            <exception cref="T:System.ObjectDisposedException"/>
        </member>
        <member name="M:WA.FileHelpers.Csv.CsvParser.CheckDisposed">
            <summary>
            Checks if the reader has been read yet.
            </summary>
            <exception cref="T:System.InvalidOperationException"/>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvParser.Delimiter">
            <summary>
            Gets or sets the delimiter used to
            separate the fields of the CSV records.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvParser.BufferSize">
            <summary>
            Gets or sets the size of the buffer
            used when reading the stream and
            creating the fields.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvParser.FieldCount">
            <summary>
            Gets or sets the field count.
            </summary>
        </member>
        <member name="T:WA.Web.Urlizer">
            <summary>
            Class for replacing URLs found in strings with actual HTML links
            </summary>
        </member>
        <member name="M:WA.Web.Urlizer.ConvertUrlTextIntoAnchorTags(System.String)">
            <summary>
            Replace any text that is a URL with an actual HTML link to the URL
            </summary>
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:WA.Web.Urlizer.ConvertUrlTextIntoAnchorTags(System.String,System.Boolean)">
            <summary>
            Replace any text that is a URL with an actual HTML link to the URL,
            and (optionally) try to shrink long URLs in an intelligent manner.
            </summary>
            <param name="input"></param>
            <param name="autoShrinkUrls"></param>
            <returns></returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:WA.Web.Urlizer.AutoHyperlinks(System.String,System.String)" -->
        <member name="T:WA.Integration.Basecamp.PeopleController">
            <summary>
            Encapsulates methods for the Basecamp "People" API
            </summary>
        </member>
        <member name="M:WA.Integration.Basecamp.PeopleController.GetPeopleOnProject(System.Int32,System.Int32)">
            <summary>
            Get all the people in the given company that can access the given project
            </summary>
            <param name="projectId"></param>
            <param name="companyId"></param>
            <returns></returns>
        </member>
        <member name="T:WA.FileHelpers.Csv.CsvParserOptions">
            <summary>
            Options for the <see cref="T:WA.FileHelpers.Csv.CsvParser"/>.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvParserOptions.BufferSize">
            <summary>
            The buffer size to use when
            reading the stream.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvParserOptions.FieldCount">
            <summary>
            The number of fields the CSV file has.
            If this is known ahead of time, set
            to make parsing more efficient.
            </summary>
        </member>
        <member name="P:WA.FileHelpers.Csv.CsvParserOptions.Delimiter">
            <summary>
            The delimiter used to separate fields
            of the CSV records.
            </summary>
        </member>
    </members>
</doc>
